#include <bitset>
#include <cstdint>
#include <iostream>
#include <istream>

using ll = int64_t;

ll n,m;
// std::vector<ll> k,a;
// std::vector<std::pair<ll, ll>> t;

template<class ...Ts>
void log(Ts&&...ts){
    // std::cout<<"Log: ";
    // ((std::cout<<ts<<' '),...);
    // std::cout<<'\n';
}
// ll max{};
// namespace c1{
//     std::set<ll> s;

//     void static inline dfs(ll d,ll nsum){
//         if(nsum>max)return;
//         if(d>n){
//             s.insert(nsum);
//             log("nsum:",nsum);
//             return;
//         }
//         for(ll i=0;i<=a[d];i++){
//             dfs(d+1,nsum+k[d]*i);
//         }
//     }
// }

std::bitset<500000+5> bs;

int main(){
    std::iostream::sync_with_stdio(false);
    std::cin.tie(nullptr);
    std::cout.tie(nullptr);
    bs[0]=1;
    std::cin>>n>>m;
    // k.resize(n+1);
    // a.resize(n+1);
    // t.resize(m+1);
    for(ll i=1;i<=n;i++){
        ll k,a;
        std::cin>>k>>a;
        for(ll b=1;b<=a;b<<=1){
            bs|=bs<<b*k;
            a-=b;
        }
        if(a>0){
            bs|=bs<<a*k;
        }
    }
    for(ll i=1;i<=m;i++){
        ll t;
        std::cin>>t;
        if(bs[t]){
            std::cout<<"Yes\n";
        }else{
            std::cout<<"No\n";
        }
    }
}